package top.oylan.manager.service;

import top.oylan.manager.entity.Role;
import top.oylan.manager.entity.RoleUser;
import top.oylan.manager.entity.example.RoleExample;
import top.oylan.manager.tools.Pager;

import java.util.List;

/**
 * @Author abduahad
 * @Description ${description}
 * @Date 2019-02-24
 */
public interface RoleService {

   /**
    * 查询数量
    * @param example
    * @return
    */
   long countByExample(RoleExample example);

   /**
    * 根据条件查询
    * @param example
    * @return
    */
   List<Role> selectByExample(RoleExample example);

   /**
    * 分页查询
    * @param pager
    * @return
    */
   List<Role> selectByPager(Pager pager);

   /**
    * 根据id查询
    * @param id
    * @return
    */
   Role selectById(Integer id);

   /**
    * 添加
    * @param role
    * @return
    */
   int save(Role role);

   /*
    * 修改
    */
   int update(Role role);

   /**
    * 删除
    */
   int delete(Integer id);

    List<Role> selectAll();

   void saveUserRoles(int userId, List<Integer> roleIdList);

   List<RoleUser> getUserRoles(Integer userId);
}
